# Copyright 2018- The Pixie Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
load("@privy_deps//:requirements.bzl", "requirement")
load("@rules_python//python:defs.bzl", "py_library")

# Privy is used for synthetic protocol generation - nothing should link against it.
package(default_visibility = ["//privy:__subpackages__"])

py_library(
    name = "privy_library",
    testonly = True,
    srcs = glob([
        "*.py",
        "**/*.py",
    ]),
    srcs_version = "PY3",
    deps = [
        requirement("alive-progress"),
        requirement("baluhn"),
        requirement("beautifulsoup4"),
        requirement("blis"),
        requirement("bpemb"),
        requirement("catalogue"),
        requirement("cffi"),
        requirement("cloudpickle"),
        requirement("conllu"),
        requirement("cymem"),
        requirement("deprecated"),
        requirement("dicttoxml"),
        requirement("emoji"),
        requirement("fake-http-header"),
        requirement("faker_airtravel"),
        requirement("faker"),
        requirement("filelock"),
        requirement("flair"),
        requirement("ftfy"),
        requirement("future"),
        requirement("gdown"),
        requirement("gensim"),
        requirement("haikunator"),
        requirement("huggingface_hub"),
        requirement("hyperopt"),
        requirement("hypothesis"),
        requirement("iso3166"),
        requirement("janome"),
        requirement("jinja2"),
        requirement("joblib"),
        requirement("json2html"),
        requirement("kaleido"),
        requirement("konoha"),
        requirement("langcodes"),
        requirement("langdetect"),
        requirement("lxml"),
        requirement("markupsafe"),
        requirement("milksnake"),
        requirement("more-itertools"),
        requirement("mpld3"),
        requirement("murmurhash"),
        requirement("networkx"),
        requirement("numpy"),
        requirement("overrides"),
        requirement("pandas"),
        requirement("pathy"),
        requirement("phonenumbers"),
        requirement("plotly"),
        requirement("pptree"),
        requirement("preshed"),
        requirement("presidio_analyzer"),
        requirement("presidio_anonymizer"),
        requirement("privy-presidio-utils"),
        requirement("py4j"),
        requirement("pycountry"),
        requirement("pycparser"),
        requirement("pycryptodome"),
        requirement("pydantic"),
        requirement("pypika"),
        requirement("python-crfsuite"),
        requirement("python-dotenv"),
        requirement("pytorch-revgrad"),
        requirement("regex"),
        requirement("requests_file"),
        requirement("schemathesis"),
        requirement("schwifty"),
        requirement("segtok"),
        requirement("setuptools"),
        requirement("sklearn_crfsuite"),
        requirement("smart-open"),
        requirement("soupsieve"),
        requirement("spacy-alignments"),
        requirement("spacy-legacy"),
        requirement("spacy-loggers"),
        requirement("spacy-stanza"),
        requirement("spacy-transformers"),
        requirement("spacy"),
        requirement("sqlitedict"),
        requirement("srsly"),
        requirement("stanza"),
        requirement("tabulate"),
        requirement("thinc"),
        requirement("tldextract"),
        requirement("tokenizers"),
        requirement("torch"),
        requirement("tqdm_joblib"),
        requirement("tqdm"),
        requirement("transformers"),
        requirement("typer"),
        requirement("wasabi"),
        requirement("wcwidth"),
        requirement("wikipedia_api"),
        requirement("wordcloud"),
        requirement("xmltodict"),
        "//privy/generate:privy_generate_lib",
        "//privy/providers:privy_providers",
        "//privy/train:privy_train",
    ],
)
